package models

import "todo/dao"

// todo结构体
type Todo struct {
	ID     int    `json:"id"`
	Title  string `json:"title"`
	Status bool   `json:"status"`
}

/*
todo 相关的增删改查操作都放在这里
*/

// 创建todo
func CreateTodo(todo *Todo) (err error) {
	err = dao.DB.Create(&todo).Error
	return
}

// 删除todo
func DeleteTodo(id string) (err error) {
	err = dao.DB.Where("id=?", id).Delete(&Todo{}).Error
	return
}

// 获取todo
func GetTodo(id string) (todo *Todo, err error) {
	todo = new(Todo)
	if err = dao.DB.Where("id=?", id).First(&todo).Error; err != nil {
		return nil, err
	}
	return
}

// 修改todo
func UpdateTodo(todo *Todo) (err error) {
	err = dao.DB.Save(&todo).Error
	return
}

// 获取所有todo
func GetTodoList() (todoList []*Todo, err error) {
	todoList = make([]*Todo, 1000)
	if err = dao.DB.Find(&todoList).Error; err != nil {
		return nil, err
	}
	return
}
